﻿<h1>Go Generics 101</h1>

<p>
This book talks about all aspects of Go custom generics.
The contents mainly include
</p>

<ul>
<li>concepts and syntax of Go custom generics.</li>
<li>how to use Go custom generics.</li>
<li>the restrictions in the current implementation of Go custom generics.</li>
</ul>

<p>
The book is Go 1.25 ready now (<a href="100-updates.html">update history</a>).
</p>

<p><small><i>
(Please follow Go 101's official Twitter account <a href="https://twitter.com/zigo_101">@zigo_101</a>
to get latest Go 101 news and learn all kinds of Go knowledge.)
</i></small></p>

<div id="ebooks" class="alert alert-success row item-row">
	<div class="col-xs-12 col-sm-3 text-center" style="font-size: small;">
		<img src="res/cover-1000x.jpg" style="width: 160px;" alt="Go Generics 101"></img>
		<p>(about 50 pages)</p>
	</div>
	<div class="col-xs-12 col-sm-9" style="padding-top: 6px;"><small>
		The book is free to <a href="#index">read online</a>.
		Ebooks are also available as a way to support Go 101:
		
		<ul>
		<li>
			<a href="https://leanpub.com/go-generics-101">Leanpub store</a>,
			<i>$7.99+</i> ($7.99 is the minimum book price at Leanpub. It is more cost-effective to buy this book through <a href="https://leanpub.com/b/go-optimizations-details-generics">this</a> or <a href="https://leanpub.com/b/go-optimizations-details">this</a> book bundle).
		</li>
		<li>
			<a href="https://www.amazon.com/dp/B09XBQNNF2">Amazon Kindle store</a>,
			<i>$5.99</i>.
		</li>
		<li>
			<a href="https://books.apple.com/book/id1618059315">Apple Books store</a>,
			<i>$5.99</i>.
		</li>
		<li>
			<a href="https://play.google.com/store/books/details?id=D81wEAAAQBAJ">Google Play store</a>,
			<i>$5.99</i>.
		</li>
		</ul>

		<p>
		Tapir, the author of Go 101, has been on writing the Go 101 series books and maintaining the go101.org website since July 2016.
		New contents are still being (and will be) constantly added to the book series and the website from time to time.
		</p>

		<p>
		Tapir is also an indie game developer.
		If you would like to, you can also support the book and the website by
		playing <a href="https://www.tapirgames.com">Tapir's games</a>
		(made for both Android and iPhone/iPad).
		Individual donations are also accepted <a href="https://paypal.me/tapirliu">via PayPal</a>.
		</p>

		<p>
		Thanks to Olexandr Shalakhin for the permission of using
		<a href="https://github.com/shalakhin/gophericons">the wonderful gopher icon images</a>
		in the book cover.
		</p>
	</small></div>
</div>



<div>

<h3 id="index">Index:</h3>

<!-- index starts (don't remove) -->

<div id="book-index">
	
<ul class="index part">
	<li><a class="index" href="111-acknowledgements.html">Acknowledgements</a></li>
	<li><a class="index" href="222-about-this-book.html">About Go Generics 101</a></li>
	<li><a class="index" href="333-about-go-generics.html">About Go Custom Generics</a></li>
	<li><a class="index" href="444-first-look-of-custom-generics.html">First Look of Custom Generics</a></li>
	<li><a class="index" href="555-type-constraints-and-parameters.html">Constraints and Type Parameters</a></li>
	<li><a class="index" href="666-generic-instantiations-and-type-argument-inferences.html">Generic Instantiations and Type Argument Inferences</a></li>
	<li><a class="index" href="777-operations-on-values-of-type-parameter-types.html">Operations on Values of Type Parameter Types</a></li>
	<li><a class="index" href="888-the-status-quo-of-go-custom-generics.html">The Status Quo of Go Custom Generics</a></li>
	<li>Some Examples Using Go Custom Generics <i>(to do)</i></li>
</ul>

</div>

<!-- index ends (don't remove) -->

</div>
